package com.jy.rhin.infra.cda.zyzy;

import com.jy.rhin.model.CodeObject;
import com.jy.rhin.model.ValueUnit;
import com.jy.rhin.model.body.yongyao.YongYao;
import com.jy.rhin.utils.CDAUtil;
import lombok.Data;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Date;

/**
 * @Description
 */
@Data
public class ZhuYuanYZVo {

    public YongYao.YongYaoItem YongYaoItemVo() {
        YongYao.YongYaoItem item = new YongYao.YongYaoItem();
        item.setYaoPinMC(this.getYIZHUMXMC());
        item.setYaoWuJX(new CodeObject(this.JIXINGDM, this.getJIXINGMC()));
        item.setYaoWuLX(this.yaoWuLX);
        if (this.MEICISYSL == null) {
            item.setYaoWuSYPL(new ValueUnit("0", "-"));
        } else {
            item.setYaoWuSYPL(new ValueUnit(this.MEICISYSL.setScale(0, RoundingMode.FLOOR).toPlainString(), this.MEICISYSLDW));
        }
        if (this.MEICISYZJL == null) {
            item.setYaoWuSYZJL(new ValueUnit("0.00", "-"));
        } else {
            item.setYaoWuSYZJL(new ValueUnit(this.MEICISYZJL.setScale(2, RoundingMode.FLOOR).toPlainString(), this.JILIANGDW));
        }
        if (this.JILIANG == null) {
            item.setDanCiYYJL(new ValueUnit("0.00", "-"));
        } else {
            item.setDanCiYYJL(new ValueUnit(this.JILIANG.setScale(2, 3).toPlainString(), this.JILIANGDW));
        }

        item.setYongYaoTZRQ(CDAUtil.toD8(this.YIZHUJHJSRQSJ));
        item.setYongYaoTJ(new CodeObject(this.GEIYAOTJDM, this.GEIYAOTJMC));
        item.setYongYaoTS(new ValueUnit(String.valueOf(this.yongYaoTS), "天"));
        return item;
    }


    /**
     * 给药途径代码
     */
    private String GEIYAOTJDM;

    /**
     * 给药途径名称
     */
    private String GEIYAOTJMC;

    /**
     * 单次用药剂量
     */
    private BigDecimal JILIANG;

    /**
     * 单次剂量单位
     */
    private String JILIANGDW;

    /**
     * 每次使用数量
     */
    private BigDecimal MEICISYSL;

    /**
     * 每次使用数量单位
     */
    private String MEICISYSLDW;

    /**
     * 药物剂型代码
     */
    private String JIXINGDM;

    /**
     * 药品剂型名称
     */
    private String JIXINGMC;

    /**
     * 药品名称
     */
    private String YIZHUMXMC;
    /**
     * 药物类型
     */
    private String yaoWuLX;
    /**
     * 用药天数
     */
    private BigDecimal yongYaoTS;
    /**
     * 药物使用总剂量
     */
    private BigDecimal MEICISYZJL;

    /**
     * 用药停止日期（医嘱计划结束时间）
     */
    private Date YIZHUJHJSRQSJ;

}
